home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / Modem / ARA Scripts Map / ara-ur-rolmpbx-ex / ROLM->ROLM < prev    next >
Text File  |  1994-06-22  |  5KB  |  268 lines

  1. ! ROLM->ROLM
  2. ! ARA 1.0 driver for University of Rochester's ROLM PBX system
  3. ! script version 1.0.0 6/21/94
  4. ! Jonathan Taylor    jtyr@troi.cc.rochester.edu
  5. ! (716) 275-8776
  6. !
  7. ! This script allows connections between two Macintoshes connected to the ROLM WAN.
  8. ! It originates calls at a user specified speed (2400, 9600, 19200 bps) and auto 
  9. ! answers at 2400, 9600, and 19200 bps.
  10. !
  11. ! This set of scripts builds on the work of many other individuals. Kirk Anne of the
  12. ! Computing Center did pioneering work on the ROLM specific routines. John Todd 
  13. ! working for Computer Sales as a student programer, further refined Kirk's drivers
  14. ! and created a solid script for calling into the University at 9600 bps. David
  15. ! Forero of the Psychology department has also been with the process from the very 
  16. ! beginning. He has provided all of us with valuble insight and practical 
  17. ! assistance. 
  18. !
  19. ! I've spent a great deal of time and effort adding the following capabilites:
  20. !            • multispeed answering in a single driver
  21. !            • multispeed call origination in a single driver
  22. !            • support for the Eastman ROLM server
  23. !            • outbound connections through either the old or the new high-speed
  24. !              modem pool
  25. !            • universal modem setup for the inbound driver
  26. !
  27. ! Adding these capabilities required generation of new code and refinement
  28. ! of existing code. The ROLM->ROLM driver is revised version of Kirk Anne's
  29. ! original. The Hayes->ROLM driver is a wholecloth rewrite of John Todd's.
  30. ! The ROLM->Hayes driver is entirely my own. 
  31. !
  32. ! As soon as I get time I will update these drivers to take advantage of Remote 
  33. ! Access 2.0 features. 
  34. !
  35. ! I wrote these drivers to make roving computing easier for myself. I am a database
  36. ! programer for the Facilities Department. Supporting communications and computing
  37. ! for the larger University is not my job. This said, I would love feed back on the
  38. ! performance of these drivers. I would prefer to correspond by e-mail. I will
  39. ! respond as my work load allows.
  40. !
  41. !
  42. !
  43. @ORIGINATE
  44. jsr 90
  45. jsr 93
  46. jsr 20
  47. note "Enter ROLM communications speed (bps)." 2
  48. !
  49. @LABEL 1                ! branch point for for speed routines
  50. ask 0 "Speed (2400, 9600 or 19200 bps):"
  51. write "^*\13"
  52. matchclr
  53. matchstr 1 30 "2400"
  54. matchstr 2 32 "9600"
  55. matchstr 3 34 "19200"
  56. matchread 10
  57. note "Invalid connection speed. Please re-enter." 2
  58. jump 1
  59. !
  60. @ANSWER
  61. jsr 90
  62. jsr 93
  63. !
  64. @LABEL 8
  65. jsr 20
  66. !
  67. @LABEL 9
  68. note "Connected to ROLM. " 2
  69. pause 5
  70. ifANSWER 50
  71. matchclr
  72. matchstr 1 12 "CALL COMPLETE"
  73. matchstr 2 101 "BUSY"
  74. matchstr 3 10 "NOT A DATALINE"
  75. matchstr 4 104 "DOES NOT ANSWER"
  76. matchstr 5 105 "CONNECTION FAILED"
  77. note "Dialing ^1." 3
  78. write "CALL ^1\13"
  79. matchread 500
  80. jump 103
  81. !
  82. @LABEL 10
  83. matchclr
  84. matchstr 1 8 "CALL COMPLETE"
  85. matchstr 2 102 "NOT A DATALINE"
  86. matchstr 3 101 "BUSY"
  87. matchstr 4 104 "DOES NOT ANSWER"
  88. write "c campus\13"
  89. matchread 500
  90. jump 10
  91. !
  92. @LABEL 12
  93. note "Connected to ^1." 2
  94. !
  95. @LABEL 13
  96. pause 15
  97. matchclr
  98. settries 0
  99. return
  100. !
  101. @LABEL 16
  102. ifANSWER 17
  103. pause 10
  104. !
  105. @LABEL 17
  106. exit 0
  107. !
  108. @LABEL 20
  109. note "Waiting for matched prompt." 2
  110. settries 0
  111. !
  112. @LABEL 21
  113. matchclr
  114. matchstr 1 22 "CALL, DISPLAY OR MODIFY ?"
  115. write "\13\13\13"
  116. pause 5
  117. matchread 50
  118. inctries
  119. iftries 3 103
  120. jump 21
  121. !
  122. @LABEL 22
  123. return
  124. !
  125. @LABEL 30                ! configure modem: 2400
  126. note "Communicating at 2.4 kbps." 2
  127. jsr 90
  128. jsr 91
  129. jsr 8
  130. !
  131. @LABEL 31
  132. write "Q24\13"
  133. matchstr 1 16 "R24"
  134. inctries
  135. iftries 32 100
  136. matchread 10
  137. matchclr
  138. jump 31
  139. !
  140. @LABEL 32                 ! configure modem: 9600
  141. note "Communicating at 9.6 kbps." 2
  142. jsr 90
  143. jsr 92
  144. jsr 8
  145. !
  146. @LABEL 33
  147. write "Q96\13"
  148. matchstr 1 16 "R96"
  149. inctries
  150. iftries 32 100
  151. matchread 10
  152. matchclr
  153. jump 33
  154. !
  155. @LABEL 34                ! configure modem: 19200
  156. note "Communicating at 19.2 kbps." 2
  157. jsr 90
  158. jsr 93
  159. jsr 8
  160. !
  161. @LABEL 35
  162. write "Q192\13"
  163. matchstr 1 16 "R192"
  164. inctries
  165. iftries 32 100
  166. matchread 10
  167. matchclr
  168. jump 35
  169. !
  170. ! variable speed ANSWER routine
  171. !
  172. @LABEL 50
  173. note "Answering ROLM calls..." 2
  174. pause 30
  175. write "M ANSWER AUTO\13"
  176. pause 30
  177. flush
  178. jsr 90
  179. !
  180. @LABEL 60
  181. setspeed 2400
  182. matchclr
  183. matchstr 1 70 "Q24"
  184. matchread 8
  185. !
  186. @LABEL 62
  187. setspeed 9600
  188. matchclr
  189. matchstr 1 72 "Q96"
  190. matchread 8
  191. !
  192. @LABEL 64
  193. setspeed 19200
  194. matchclr
  195. matchstr 1 74 "Q192"
  196. matchread 8
  197. jump 60
  198. !
  199. @LABEL 70
  200. note "Answering ROLM call." 3
  201. userhook 1
  202. write "R24\13\10"
  203. note "Connected at 2.4 kbps."
  204. jump 16
  205. !
  206. @LABEL 72
  207. note "Answering ROLM call." 3
  208. userhook 1
  209. write "R96\13\10"
  210. note "Connected at 9.6 kbps."
  211. jump 16
  212. !
  213. @LABEL 74
  214. note "Answering ROLM call." 3
  215. userhook 1
  216. write "R192\13\10"
  217. note "Connected at 19.2 kbps."
  218. jump 16
  219. !
  220. ! HANGUP routine
  221. !
  222. @HANGUP
  223. jsr 90
  224. jsr 93
  225. exit 0
  226. !
  227. ! serial setup
  228. !
  229. @LABEL 90
  230. dtrclear
  231. pause 7
  232. dtrset
  233. return
  234. !
  235. @LABEL 91
  236. serreset 2400,0,8,1
  237. return
  238. !
  239. @LABEL 92
  240. serreset 9600,0,8,1
  241. return
  242. !
  243. @LABEL 93
  244. serreset 19200,0,8,1
  245. return
  246. !
  247. ! error codes
  248. !
  249. @LABEL 100 ! No APPLELISTEN on other end
  250. exit -6022 "No reply. Check remote server setup."
  251. !
  252. @LABEL 101 !Busy
  253. exit -6002 "^1 is busy or has an error."
  254.  
  255. @LABEL 102 ! Not a dataline
  256. exit -6002 "^1 is not a dataline. Be sure you entered an internal extension without a dash."
  257.  
  258. @LABEL 103 ! Phone isn't working
  259. exit -6002 "ROLM not responding. Check connections and dataline. Try again later."
  260.  
  261. @LABEL 104 ! No answer
  262. exit -6002 "^1 does not answer. Check remote server setup."
  263.  
  264. @LABEL 105 ! Connection failed
  265. exit -6002 "Connection failed.  Be sure you entered an internal extension without a dash."
  266. !
  267. @LABEL 128
  268. exit -6002 "Any old schlock."